ãªã¢ã¯ãã£ãããã°ã©ãã³ã°ã«ããããªãã¶ãŒããŒãã¿ãŒã³ãæ¢æ±ïŒãã®ååãå©ç¹ãå®è£ äŸããããŠå¿çæ§ãšã¹ã±ãŒã©ãã«ãªãœãããŠã§ã¢æ§ç¯ã®ããã®å®è·µçãªå¿çšã
ãªã¢ã¯ãã£ãããã°ã©ãã³ã°ïŒãªãã¶ãŒããŒãã¿ãŒã³ã®ãã¹ã¿ãŒ
ãœãããŠã§ã¢éçºã®é²åãç¶ããç¶æ³ã«ãããŠãå¿çæ§ãã¹ã±ãŒã©ããªãã£ãä¿å®æ§ã«åªããã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããšã¯æéèŠã§ãããªã¢ã¯ãã£ãããã°ã©ãã³ã°ã¯ãéåæããŒã¿ã¹ããªãŒã ãšå€æŽã®äŒæã«çŠç¹ãåœãŠããã©ãã€ã ã·ãããæäŸããŸãããã®ã¢ãããŒãã®ç€ç³ã¯ãªãã¶ãŒããŒãã¿ãŒã³ã§ããããã¯ããªããžã§ã¯ãéã®1察å€ã®äŸåé¢ä¿ãå®çŸ©ããããã€ãã¢ãã¶ï¿œï¿œã³ãã¿ãŒã³ã§ããã1ã€ã®ãªããžã§ã¯ãïŒãµããžã§ã¯ãïŒãç¶æ ã®å€æŽããèªåçã«ããã®äŸåãªããžã§ã¯ãïŒãªãã¶ãŒããŒïŒãã¹ãŠã«éç¥ããããšãå¯èœã«ããŸãã
ãªãã¶ãŒããŒãã¿ãŒã³ã®çè§£
ãªãã¶ãŒããŒãã¿ãŒã³ã¯ããµããžã§ã¯ããšãã®ãªãã¶ãŒããŒããšã¬ã¬ã³ãã«åé¢ããŸãããµããžã§ã¯ãããªãã¶ãŒããŒã®ã¡ãœãããç¥ã£ãŠããŠçŽæ¥åŒã³åºãã®ã§ã¯ãªãããªãã¶ãŒããŒã®ãªã¹ããç¶æããç¶æ 倿Žãéç¥ããŸãããã®åé¢ã¯ãã³ãŒãããŒã¹ã«ãããã¢ãžã¥ãŒã«æ§ãæè»æ§ããã¹ãå®¹ææ§ãä¿é²ããŸãã
äž»èŠã³ã³ããŒãã³ãïŒ
- ãµããžã§ã¯ãïŒObservableïŒïŒç¶æ ãå€åãããªããžã§ã¯ãããªãã¶ãŒããŒã®ãªã¹ããç¶æããããããã¢ã¿ããããã¿ãããéç¥ããããã®ã¡ãœãããæäŸããŸãã
- ãªãã¶ãŒããŒïŒãµããžã§ã¯ããç¶æ ã倿Žãããšãã«åŒã³åºããã`update()`ã¡ãœãããå®çŸ©ããã€ã³ã¿ãŒãã§ãŒã¹ãŸãã¯æœè±¡ã¯ã©ã¹ã
- å ·è±¡ãµããžã§ã¯ãïŒãµããžã§ã¯ãã®å ·è±¡å®è£ ã§ãããç¶æ ã®ç¶æãšãªãã¶ãŒããŒãžã®éç¥ãæ åœããŸãã
- å ·è±¡ãªãã¶ãŒããŒïŒãªãã¶ãŒããŒã®å ·è±¡å®è£ ã§ããããµããžã§ã¯ãã«ãã£ãŠéç¥ãããç¶æ 倿Žã«å¯Ÿå¿ãã責任ãè² ããŸãã
å®äžçã®äŸãïŒ
ãã¥ãŒã¹ãšãŒãžã§ã³ã·ãŒïŒãµããžã§ã¯ãïŒãšãã®è³Œèªè ïŒãªãã¶ãŒããŒïŒãæ³åããŠãã ããããã¥ãŒã¹ãšãŒãžã§ã³ã·ãŒãæ°ããèšäºïŒç¶æ 倿ŽïŒãçºè¡ãããšããã¹ãŠã®è³Œèªè ã«éç¥ãéä¿¡ããŸãã賌èªè ã¯ãæ å ±ãåä¿¡ããŠããã«å¿ããŠåå¿ããŸããã©ã®è³Œèªè ãä»ã®è³Œèªè ã®è©³çްãç¥ãããšã¯ãªãããã¥ãŒã¹ãšãŒãžã§ã³ã·ãŒã¯æ¶è²»è ãæ°ã«ããããšãªãå ¬éããããšã«éäžããŸãã
ãªãã¶ãŒããŒãã¿ãŒã³ã®äœ¿çšã«ããã¡ãªãã
ãªãã¶ãŒããŒãã¿ãŒã³ã®å®è£ ã¯ãã¢ããªã±ãŒã·ã§ã³ã«å€ãã®ã¡ãªããããããããŸãã
- ççµåïŒãµããžã§ã¯ããšãªãã¶ãŒããŒã¯ç¬ç«ããŠãããäŸåé¢ä¿ãæžãããã¢ãžã¥ãŒã«æ§ãä¿é²ããŸããããã«ãããä»ã®éšåã«åœ±é¿ãäžããããšãªããã·ã¹ãã ã®å€æŽãæ¡åŒµã容æã«ãªããŸãã
- ã¹ã±ãŒã©ããªãã£ïŒãµããžã§ã¯ãã倿Žããããšãªãããªãã¶ãŒããŒãç°¡åã«è¿œå ãŸãã¯åé€ã§ããŸããããã«ãããå¢å€§ããã¯ãŒã¯ããŒããåŠçããããã«ãããå€ãã®ãªãã¶ãŒããŒã远å ããããšã§ãã¢ããªã±ãŒã·ã§ã³ãæ°Žå¹³ã«ã¹ã±ãŒãªã³ã°ã§ããŸãã
- åå©çšæ§ïŒãµããžã§ã¯ããšãªãã¶ãŒããŒã®äž¡æ¹ãç°ãªãã³ã³ããã¹ãã§åå©çšã§ããŸããããã«ãããã³ãŒãã®éè€ãåæžãããä¿å®æ§ãåäžããŸãã
- æè»æ§ïŒãªãã¶ãŒããŒã¯ãããŸããŸãªæ¹æ³ã§ç¶æ 倿Žã«å¯Ÿå¿ã§ããŸããããã«ãããã¢ããªã±ãŒã·ã§ã³ã倿ŽããèŠä»¶ã«é©å¿ãããããšãã§ããŸãã
- ãã¹ãå®¹ææ§ã®åäžïŒãã¿ãŒã³ã®åé¢ãããæ§è³ªã«ããããµããžã§ã¯ããšãªãã¶ãŒããŒãåå¥ã«ãã¹ãããããšã容æã«ãªããŸãã
ãªãã¶ãŒããŒãã¿ãŒã³ã®å®è£
ãªãã¶ãŒããŒãã¿ãŒã³ã®å®è£ ã¯ãéåžžããµããžã§ã¯ããšãªãã¶ãŒããŒã®ã€ã³ã¿ãŒãã§ãŒã¹ãŸãã¯æœè±¡ã¯ã©ã¹ãå®çŸ©ãããã®åŸãå ·è±¡å®è£ ãè¡ããŸãã
æŠå¿µçå®è£ ïŒç䌌ã³ãŒãïŒïŒ
interface Observer {
update(subject: Subject): void;
}
interface Subject {
attach(observer: Observer): void;
detach(observer: Observer): void;
notify(): void;
}
class ConcreteSubject implements Subject {
private state: any;
private observers: Observer[] = [];
constructor(initialState: any) {
this.state = initialState;
}
attach(observer: Observer): void {
this.observers.push(observer);
}
detach(observer: Observer): void {
this.observers = this.observers.filter(obs => obs !== observer);
}
notify(): void {
for (const observer of this.observers) {
observer.update(this);
}
}
setState(newState: any): void {
this.state = newState;
this.notify();
}
getState(): any {
return this.state;
}
}
class ConcreteObserverA implements Observer {
private subject: ConcreteSubject;
constructor(subject: ConcreteSubject) {
this.subject = subject;
subject.attach(this);
}
update(subject: ConcreteSubject): void {
console.log("ConcreteObserverA: Reacted to the event with state:", subject.getState());
}
}
class ConcreteObserverB implements Observer {
private subject: ConcreteSubject;
constructor(subject: ConcreteSubject) {
this.subject = subject;
subject.attach(this);
}
update(subject: ConcreteSubject): void {
console.log("ConcreteObserverB: Reacted to the event with state:", subject.getState());
}
}
// Usage
const subject = new ConcreteSubject("Initial State");
const observerA = new ConcreteObserverA(subject);
const observerB = new ConcreteObserverB(subject);
subject.setState("New State");
JavaScript/TypeScriptã§ã®äŸ
class Subject {
constructor() {
this.observers = [];
}
subscribe(observer) {
this.observers.push(observer);
}
unsubscribe(observer) {
this.observers = this.observers.filter(obs => obs !== observer);
}
notify(data) {
this.observers.forEach(observer => {
observer.update(data);
});
}
}
class Observer {
constructor(name) {
this.name = name;
}
update(data) {
console.log(`${this.name} received data: ${data}`);
}
}
const subject = new Subject();
const observer1 = new Observer("Observer 1");
const observer2 = new Observer("Observer 2");
subject.subscribe(observer1);
subject.subscribe(observer2);
subject.notify("Hello from Subject!");
subject.unsubscribe(observer2);
subject.notify("Another message!");
ãªãã¶ãŒããŒãã¿ãŒã³ã®å®çšçãªå¿çš
ãªãã¶ãŒããŒãã¿ãŒã³ã¯ãè€æ°ã®äŸåã³ã³ããŒãã³ãã«å€æŽãäŒæãããå¿ èŠãããããŸããŸãªã·ããªãªã§èŒããŸãã以äžã«äžè¬çãªå¿çšäŸãããã€ã瀺ããŸãã
- ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ïŒUIïŒã®æŽæ°ïŒUIã¢ãã«ã®ããŒã¿ã倿Žããããšããã®ããŒã¿ã衚瀺ãããã¥ãŒãèªåçã«æŽæ°ããå¿ èŠããããŸãããªãã¶ãŒããŒãã¿ãŒã³ã¯ãã¢ãã«ã倿Žããããšãã«ãã¥ãŒã«éç¥ããããã«äœ¿çšã§ããŸããããšãã°ãæ ªåŒãã£ãã«ãŒã¢ããªã±ãŒã·ã§ã³ãèããŠã¿ãŠãã ãããæ ªäŸ¡ãæŽæ°ããããšãæ ªã®è©³çްã衚瀺ãããã¹ãŠã®è¡šç€ºãŠã£ãžã§ãããæŽæ°ãããŸãã
- ã€ãã³ãåŠçïŒã€ãã³ãé§åã·ã¹ãã ã§ã¯ãGUIãã¬ãŒã ã¯ãŒã¯ãã¡ãã»ãŒãžãã¥ãŒãªã©ããªãã¶ãŒããŒãã¿ãŒã³ã¯ç¹å®ã®ã€ãã³ããçºçãããšãã«ãªã¹ããŒã«éç¥ããããã«äœ¿çšãããŸããããã¯ãã³ã³ããŒãã³ãããµãŒãã¹ããçºè¡ãããã€ãã³ãã«ã³ã³ããŒãã³ããåå¿ããReactãAngularãVueã®ãããªWebãã¬ãŒã ã¯ãŒã¯ã§ããèŠãããŸãã
- ããŒã¿ãã€ã³ãã£ã³ã°ïŒããŒã¿ãã€ã³ãã£ã³ã°ãã¬ãŒã ã¯ãŒã¯ã§ã¯ããªãã¶ãŒããŒãã¿ãŒã³ã¯ã¢ãã«ãšãã®ãã¥ãŒéã®ããŒã¿ãåæããããã«äœ¿çšãããŸããã¢ãã«ã倿Žããããšããã¥ãŒã¯èªåçã«æŽæ°ããããã®éãåæ§ã§ãã
- ã¹ãã¬ããã·ãŒãã¢ããªã±ãŒã·ã§ã³ïŒã¹ãã¬ããã·ãŒãã®ã»ã«ã倿Žããããšããã®ã»ã«ã®å€ã«äŸåããä»ã®ã»ã«ãæŽæ°ããå¿ èŠããããŸãããªãã¶ãŒããŒãã¿ãŒã³ã¯ããããå¹ççã«çºçããããšãä¿èšŒããŸãã
- ãªã¢ã«ã¿ã€ã ããã·ã¥ããŒãïŒå€éšãœãŒã¹ããã®ããŒã¿æŽæ°ã¯ããªãã¶ãŒããŒãã¿ãŒã³ã䜿çšããŠè€æ°ã®ããã·ã¥ããŒããŠã£ãžã§ããã«ãããŒããã£ã¹ããããããã·ã¥ããŒããåžžã«ææ°ã®ç¶æ ã§ããããšãä¿èšŒã§ããŸãã
ãªã¢ã¯ãã£ãããã°ã©ãã³ã°ãšãªãã¶ãŒããŒãã¿ãŒã³
ãªãã¶ãŒããŒãã¿ãŒã³ã¯ããªã¢ã¯ãã£ãããã°ã©ãã³ã°ã®åºæ¬çãªæ§æèŠçŽ ã§ãããªã¢ã¯ãã£ãããã°ã©ãã³ã°ã¯ãªãã¶ãŒããŒãã¿ãŒã³ãæ¡åŒµããŠéåæããŒã¿ã¹ããªãŒã ãåŠçããé«åºŠã«å¿çæ§ãšã¹ã±ãŒã©ããªãã£ã®é«ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããããã«ããŸãã
ãªã¢ã¯ãã£ãã¹ããªãŒã ïŒ
ãªã¢ã¯ãã£ãã¹ããªãŒã ã¯ãããã¯ãã¬ãã·ã£ãŒãåããéåæã¹ããªãŒã åŠçã®æšæºãæäŸããŸããRxJavaãReactorãRxJSãªã©ã®ã©ã€ãã©ãªã¯ãªã¢ã¯ãã£ãã¹ããªãŒã ãå®è£ ããŠãããããŒã¿ã¹ããªãŒã ã®å€æããã£ã«ã¿ãªã³ã°ãçµåã®ããã®åŒ·åãªãªãã¬ãŒã¿ãŒãæäŸããŸãã
RxJSïŒJavaScriptïŒã§ã®äŸïŒ
const { Observable } = require('rxjs');
const { map, filter } = require('rxjs/operators');
const observable = new Observable(subscriber => {
subscriber.next(1);
subscriber.next(2);
subscriber.next(3);
setTimeout(() => {
subscriber.next(4);
subscriber.complete();
}, 1000);
});
observable.pipe(
filter(value => value % 2 === 0),
map(value => value * 10)
).subscribe({
next: value => console.log('Received: ' + value),
error: err => console.log('Error: ' + err),
complete: () => console.log('Completed')
});
// Output:
// Received: 20
// Received: 40
// Completed
ãã®äŸã§ã¯ãRxJSã¯`Observable`ïŒãµããžã§ã¯ãïŒãæäŸãã`subscribe`ã¡ãœããã¯ãªãã¶ãŒããŒã®äœæãå¯èœã«ããŸãã`pipe`ã¡ãœããã¯ã`filter`ã`map`ã®ãããªãªãã¬ãŒã¿ãŒããã§ãŒã³ããŠããŒã¿ã¹ããªãŒã ã倿ããããšãå¯èœã«ããŸãã
é©åãªå®è£ ã®éžæ
ãªãã¶ãŒããŒãã¿ãŒã³ã®ã³ã¢ã³ã³ã»ããã¯äžè²«ããŠããŸãããç¹å®ã®èšèªããã¬ãŒã ã¯ãŒã¯ã«ãã£ãŠå®è£ ã¯ç°ãªããŸããå®è£ ãéžæããéã®èæ ®äºé ãããã€ã瀺ããŸãã
- çµã¿èŸŒã¿ãµããŒãïŒå€ãã®èšèªããã¬ãŒã ã¯ãŒã¯ã¯ãã€ãã³ããããªã²ãŒãããŸãã¯ãªã¢ã¯ãã£ãã¹ããªãŒã ãéããŠãªãã¶ãŒããŒãã¿ãŒã³ãçµã¿èŸŒã¿ã§ãµããŒãããŠããŸããããšãã°ãC#ã«ã¯ã€ãã³ããšããªã²ãŒããJavaã«ã¯`java.util.Observable`ãš`java.util.Observer`ãJavaScriptã«ã¯ã«ã¹ã¿ã ã€ãã³ãåŠçã¡ã«ããºã ãšReactive ExtensionsïŒRxJSïŒããããŸãã
- ããã©ãŒãã³ã¹ïŒãªãã¶ãŒããŒãã¿ãŒã³ã®ããã©ãŒãã³ã¹ã¯ããªãã¶ãŒããŒã®æ°ãšæŽæ°ããžãã¯ã®è€éãã«ãã£ãŠåœ±é¿ãåããå¯èœæ§ããããŸããé«é »åºŠã®ã·ããªãªã§ããã©ãŒãã³ã¹ãæé©åããããã«ãã¹ããããªã³ã°ããããŠã³ã¹ãªã©ã®ãã¯ããã¯ã®äœ¿çšãæ€èšããŠãã ããã
- ãšã©ãŒåŠçïŒ1ã€ã®ãªãã¶ãŒããŒã®ãšã©ãŒãä»ã®ãªãã¶ãŒããŒããµããžã§ã¯ãã«åœ±é¿ãäžããã®ãé²ãããã«ãå ç¢ãªãšã©ãŒåŠçã¡ã«ããºã ãå®è£ ããŠãã ãããtry-catchãããã¯ãŸãã¯ãªã¢ã¯ãã£ãã¹ããªãŒã ã®ãšã©ãŒåŠçãªãã¬ãŒã¿ãŒã®äœ¿çšãæ€èšããŠãã ããã
- ã¹ã¬ããã»ãŒããã£ïŒãµããžã§ã¯ããè€æ°ã®ã¹ã¬ããããã¢ã¯ã»ã¹ãããå Žåãç«¶åç¶æ ãããŒã¿ç Žæãé²ãããã«ããªãã¶ãŒããŒãã¿ãŒã³ã®å®è£ ãã¹ã¬ããã»ãŒãã§ããããšã確èªããŠãã ãããããã¯ãŸãã¯äžŠè¡ããŒã¿æ§é ãªã©ã®åæã¡ã«ããºã ã䜿çšããŠãã ããã
é¿ããã¹ãäžè¬çãªèœãšã穎
ãªãã¶ãŒããŒãã¿ãŒã³ã¯å€§ããªã¡ãªãããæäŸããŸãããæœåšçãªèœãšãç©Žã«æ³šæããããšãéèŠã§ãã
- ã¡ã¢ãªãªãŒã¯ïŒãªãã¶ãŒããŒããµããžã§ã¯ãããé©åã«ãã¿ãããããªãå Žåãã¡ã¢ãªãªãŒã¯ã®åå ãšãªãå¯èœæ§ããããŸãããªãã¶ãŒããŒã¯äžèŠã«ãªã£ããšãã«ãµãã¹ã¯ã©ã€ãè§£é€ãããŠããããšã確èªããŠãã ãããäžèŠãªãªããžã§ã¯ãã®ä¿æãé¿ããããã«ã匱åç §ãªã©ã®ã¡ã«ããºã ãæŽ»çšããŠãã ããã
- 埪ç°äŸåïŒãµããžã§ã¯ããšãªãã¶ãŒããŒããäºãã«äŸåããŠããå Žåã埪ç°äŸåãè€éãªé¢ä¿ã«ã€ãªããå¯èœæ§ããããŸãããµã€ã¯ã«ãé¿ããããã«ããµããžã§ã¯ããšãªãã¶ãŒããŒã®é¢ä¿ãæ éã«èšèšããŠãã ããã
- ããã©ãŒãã³ã¹ã®ããã«ããã¯ïŒãªãã¶ãŒããŒã®æ°ãéåžžã«å€ãå Žåããã¹ãŠã®ãªãã¶ãŒããŒã«éç¥ããããšãããã©ãŒãã³ã¹ã®ããã«ããã¯ã«ãªãå¯èœæ§ããããŸããéç¥ã®æ°ãæžããããã«ãéåæéç¥ããã£ã«ã¿ãªã³ã°ãªã©ã®ãã¯ããã¯ã®äœ¿çšãæ€èšããŠãã ããã
- è€éãªæŽæ°ããžãã¯ïŒãªãã¶ãŒããŒã®æŽæ°ããžãã¯ãè€éããããšãã·ã¹ãã ãçè§£ããŠä¿å®ããããšãå°é£ã«ãªãå¯èœæ§ããããŸããæŽæ°ããžãã¯ãã·ã³ãã«ã§éäžãããã®ã«ä¿ã¡ãŸããè€éãªããžãã¯ãåå¥ã®é¢æ°ãŸãã¯ã¯ã©ã¹ã«ãªãã¡ã¯ã¿ãªã³ã°ããŸãã
ã°ããŒãã«ãªèæ ®äºé
ã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã®ããã«ãªãã¶ãŒããŒãã¿ãŒã³ã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãèšèšããéã«ã¯ããããã®èŠå ãèæ ®ããŠãã ããã
- ããŒã«ã©ã€ãºïŒãªãã¶ãŒããŒã«è¡šç€ºãããã¡ãã»ãŒãžãšããŒã¿ãããŠãŒã¶ãŒã®èšèªãšå°åã«åºã¥ããŠããŒã«ã©ã€ãºãããŠããããšã確èªããŠãã ãããåœéåã©ã€ãã©ãªãšãã¯ããã¯ã䜿çšããŠãç°ãªãæ¥ä»åœ¢åŒãæ°å€åœ¢åŒãé貚èšå·ãåŠçããŠãã ããã
- ã¿ã€ã ãŸãŒã³ïŒæéã«é¢é£ããã€ãã³ããæ±ãå Žåããªãã¶ãŒããŒã®ã¿ã€ã ãŸãŒã³ãèæ ®ããããã«å¿ããŠéç¥ã調æŽããŠãã ãããUTCã®ãããªæšæºã¿ã€ã ãŸãŒã³ã䜿çšãããªãã¶ãŒããŒã®ããŒã«ã«ã¿ã€ã ãŸãŒã³ã«å€æããŠãã ããã
- ã¢ã¯ã»ã·ããªãã£ïŒéç¥ãé害ãæã€ãŠãŒã¶ãŒã«ãšã£ãŠã¢ã¯ã»ã¹å¯èœã§ããããšã確èªããŠãã ãããé©åãªARIA屿§ã䜿çšããã³ã³ãã³ããã¹ã¯ãªãŒã³ãªãŒããŒã§èªã¿åããããšã確èªããŠãã ããã
- ããŒã¿ãã©ã€ãã·ãŒïŒGDPRãCCPAãªã©ã®ããŸããŸãªåœã®ããŒã¿ãã©ã€ãã·ãŒèŠå¶ãéµå®ããŠãã ãããå¿ èŠãªããŒã¿ã®ã¿ãåéããã³åŠçããŠããããŠãŒã¶ãŒããåæãåŸãŠããããšã確èªããŠãã ããã
çµè«
ãªãã¶ãŒããŒãã¿ãŒã³ã¯ãå¿çæ§ãã¹ã±ãŒã©ããªãã£ãä¿å®æ§ã«åªããã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®åŒ·åãªããŒã«ã§ãããµããžã§ã¯ãããªãã¶ãŒããŒããåé¢ããããšã§ãããæè»ã§ã¢ãžã¥ãŒã«åãããã³ãŒãããŒã¹ãäœæã§ããŸãããªã¢ã¯ãã£ãããã°ã©ãã³ã°ã®ååãšã©ã€ãã©ãªãšçµã¿åãããããšã§ããªãã¶ãŒããŒãã¿ãŒã³ã¯éåæããŒã¿ã¹ããªãŒã ãåŠçããé«åºŠã«ã€ã³ã¿ã©ã¯ãã£ãã§ãªã¢ã«ã¿ã€ã ãªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããšãå¯èœã«ããŸãããªãã¶ãŒããŒãã¿ãŒã³ã广çã«çè§£ãé©çšããããšã¯ãç¹ã«ä»æ¥ã®ãŸããŸãåçã§ããŒã¿äž»å°ã®äžçã«ãããŠããœãããŠã§ã¢ãããžã§ã¯ãã®å質ãšã¢ãŒããã¯ãã£ãå€§å¹ ã«åäžãããããšãã§ããŸãããªã¢ã¯ãã£ãããã°ã©ãã³ã°ãããã«æ·±ãæãäžããã«ã€ããŠããªãã¶ãŒããŒãã¿ãŒã³ã¯åãªããã¶ã€ã³ãã¿ãŒã³ã§ã¯ãªããå€ãã®ãªã¢ã¯ãã£ãã·ã¹ãã ã®åºç€ãšãªãåºæ¬çãªæŠå¿µã§ããããšãããããŸãã
ãã¬ãŒããªããšæœåšçãªèœãšãç©Žãæ éã«èæ ®ããããšã§ããªãã¶ãŒããŒãã¿ãŒã³ã掻çšããŠããŠãŒã¶ãŒã®ããŒãºãã€ãŸããŠãŒã¶ãŒãã©ãã«ãããã«é¢ä¿ãªããå ç¢ã§å¹ççãªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãããããã®ååãæ¢æ±ãå®éšãé©çšãç¶ããŠãçã«åçã§ãªã¢ã¯ãã£ããªãœãªã¥ãŒã·ã§ã³ãäœæããŠãã ããã